package com.ktgj.flight.domain.InterfaceEntity;


import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**国内机票可改航班基础查询请求体
 * @author wyj
 * @create 2021-09-15 11:46
 */
public class MoRescheduleSearchRequest extends MoRequest implements Serializable {

    /**
     * 价格
     */
    public BigDecimal Price ;

    /**
     * 改签后的价格
     */
    public BigDecimal NewPrice ;

    /**
     * 舱位
     */
    public String Class ;

    /**
     * 子舱位
     */
    public String SubClass ;

    /**
     * 出发城市
     */
    public String DCity ;

    /**
     * 到达城市
     */
    public String ACity ;

    /**
     * 原航班起飞时间
     */
    public Date OriginalFlightDepartDate ;

    /**
     * 改签航班起飞时间
     */
    public Date RescheduleFlightDepartDate ;

    /**
     * 改签航班日期
     */
    public Date DepartDate ;


    /**
     * 航司二字代码
     */
    public String Airline ;

    /**
     * 改签ID 对应可退票/改签查询接口返回体中的rescheduleID
     */
    public String RescheduleFormulaID ;


    /**
     * 改签次数
     */
    public int RescheduleTimes ;

    /**
     * 对应可退票/改签查询接口返回体中的RID
     */
    public String RCID ;

    /**
     * 价格类型
     */
    public String ProductType ;

    /**
     * 燃油费
     */
    public BigDecimal OilFee ;

    /**
     * 税
     */
    public BigDecimal Tax ;

    /**
     * 乘客类型--0成人，1儿童
     */
    public int BSPPassengerType ;

    /**
     * 销售类型
     */
    public String SaleType ;

    /**
     * 票面价
     */
    public BigDecimal PrintPrice ;

    /**
     * 产品来源 1：大系统普通政策；2：共享资源运价政策；
     *         3：共享资源佣金政策；4：直联资源政策
     */
    public int OriProductSource ;

    /**
     * 销售渠道
     */
    public String SaleChannels ;

    /**
     * 票台ID
     */
    public String AgencyID ;

    /**
     * 产品平台(来源): NA ,Normal ,Share ,Direct
     */
    public String ProductSource ;

    /**
     * 当前航程类型 S：单程；D：往返；M：联程
     */
    public String FlightWay ;

    /**
     * 订单号
     */
    public String OrderID ;

    /**
     * 是否免费改期 传true则表示为航变改签
     */
    public boolean IsFree ;

    /**
     * 取消留用时间
     */
    public Date ApplyTime ;

    /**
     * 默认1
     */
    public int Type ;

    /**
     * 航班号
     */
    public String FlightNo ;

    /**
     * pid 当ReqType为2时，此属性不可为空
     */
    public String PID ;

    /**
     * 请求接口方法 1 可改期航班查询接口，2 指定航班查询接口
     */
    public int ReqType ;

    /**
     * 乘客信息
     */
    public List<ChangePassenger> ListChangePassenger ;

    /**
     * PNR唯一标识
     */
    public String PnrId ;

    public MoRescheduleSearchRequest() {
        this.ListChangePassenger = new ArrayList<>();
    }

    /**
     * 订单明细id
     */
    public String orderIteamId;

    /**
     * 航段id
     */
    public String PaxSegmentID;
}
